1
遺伝的アルゴリズム入門:標準型と実数表現型の枠組み
WU-SCI1005Lecture 2
00:00

遺伝的アルゴリズム(GAs)は、ダーウィン主義的な「生存の競争」および遺伝子再結合の原理に基づいた確率的グローバル探索ヒューリスティックです。

1. 表現フレームワーク

  • 標準型GAs:決定変数を2進数またはグレイ符号の文字列でエンコードする。
  • 実数表現型GAs(RCGAs):浮動小数点ベクトルを直接操作し、連続最適化において効率的であることが多い。

2. 進化的ループ

評価、選択、再生成の反復プロセスである。重要な概念は、ゲノタイプ(符号化されたビット列/染色体)とフィノタイプ(実際の問題空間におけるデコードされた決定変数値)の違いである。

2進文字列から実数値 $x \in [a, b]$へのマッピングは次の式で与えられる:

$$x = a + \frac{decimal\_value \times (b - a)}{2^L - 1}$$

ここで $L$ は染色体のビット長である。

ハミングクラフツ
注意が必要なのはハミングクラフツ標準的な2進符号化において—隣接する十進数(例:7と8)が全く異なる2進ビットパターン(0111対比して1000)を持つ状況であり、これにより遺伝的アルゴリズムが局所的な探索を困難にする。
Pythonによる実装:2進→実数へのデコード
質問1
なぜグレイ符号化は、遺伝的アルゴリズム(GA)において標準的な2進符号化よりも好まれるのか?
染色体を格納するためのメモリ量が少ない。
隣接する値が常に1ビットだけ異なることを保証する(隣接性特性)。
値を自動的に0から1の範囲に正規化する。
自然に突然変異率を高める。
質問2
突然変異確率(p)が高すぎると(例:p = 0.5)、どのような結果になる可能性が高いか?
アルゴリズムは即座にグローバル最適解に収束する。
GAはランダムサーチのように振る舞う。
ケーススタディ:橋梁部品の最適化
以下のシナリオを読んで、質問に答えなさい。
決定変数が「材料厚さ」である橋梁部品の設計を最適化しています。

  • 厚さは0.0mmから10.23mmの間でなければならない。
  • あなたは10ビットの10ビット2進文字列表現を用いた標準型GAを使用しています。
Q
1. 個体の染色体が0000000000の場合、デコードされた厚さは何か?
解答:0.0mm
2進文字列0000000000は10進数で0に等しい。式 $x = a + \frac{decimal \times (b-a)}{2^L - 1}$ を用いると、$0.0 + \frac{0 \times (10.23 - 0.0)}{1023} = 0.0$ となる。
Q
2. この10ビット設定における探索精度(厚さの最小変化量)を計算せよ。
解答:0.01mm
精度は範囲を最大可能な10進数値で割ったものとして定義される。$\frac{10.23 - 0}{2^{10} - 1} = \frac{10.23}{1023} = 0.01mm$。
Q
3. 選択の際に、個体Aの適応度は10、個体Bの適応度は30である。ルーレット方式を用いた場合、BがAより選ばれる確率はどれか?
解答:75%
合計適応度 = $10 + 30 = 40$。Bを選択する確率 = $\frac{30}{40} = 0.75$ または75%。(3:1の比率)。